// any  任意类型  unknown 不知道的类型
// 1.top type  顶级类型  any unknown
// 2.Object  对象类型
// 3.Number String Boolean
// 4.number string boolean
// 5.1 "小满" false
// 6.never

/* 
nodejs 环境执行ts
npm i typescript -g
npm init -y
npm i @types/node --save-dev （node环境支持的依赖必装）
npm i ts-node--g 
*/

// 一、any类型
// 1.没有强制限定哪种类型，随时切换类型都可以 我们可以对 any 进行任何操作，不需要检查类型
/* let anys: any = 123
anys = '123'
anys = true */

// 2.声明变量的时候没有指定任意类型默认为any
/* let anys;
anys = '123'
anys = true */

// 3.弊端如果使用any 就失去了TS类型检测的作用

// 二、unknown类型
// 1.unknown 只能赋值给自身 或者 any或者是any
/* let a: unknown = 123
let b: number = '123'
a = b
b = a */

// 2.如果是any类型在对象没有这个属性的时候还在获取是不会报错的
// 如果是unknow 是不能调用属性和方法
/* let obj01: any = { b: 1 }
obj01.a

let obj02: unknown = { b: 1, ccc: (): number => 213 }
obj02.b
obj02.ccc() */
